package com.smartum.mpr.client.services;

import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartum.mpr.shared.User;

public abstract interface UserServiceAsync
{
  public abstract void retrieveUser(String paramString1, String paramString2, AsyncCallback<User> paramAsyncCallback);

  public abstract void retrieveUserFromSesion(AsyncCallback<User> paramAsyncCallback);

  public abstract void logout(AsyncCallback<Void> paramAsyncCallback);

  public static final class Util
  {
    private static UserServiceAsync instance;

    public static final UserServiceAsync getInstance()
    {
      if (instance == null)
      {
        instance = (UserServiceAsync)GWT.create(UserService.class);
      }
      return instance;
    }
  }
}